package cn.harry.cabinet.constants

/**
 * 操作日志常量定义
 */
object OperationLogConstants {

    /**
     * 操作类型
     */
    object OperationType {
        /** 用户认证 */
        const val USER_AUTH = "USER_AUTH"

        /** 取仪器 */
        const val INSTRUMENT_TAKE = "INSTRUMENT_TAKE"

        /** 还仪器 */
        const val INSTRUMENT_RETURN = "INSTRUMENT_RETURN"

        /** 数据同步 */
        const val DATA_SYNC = "DATA_SYNC"

        /** 接口调用 */
        const val API_CALL = "API_CALL"

        /** 配置修改 */
        const val CONFIG_CHANGE = "CONFIG_CHANGE"

        /** 定时任务 */
        const val SCHEDULED_TASK = "SCHEDULED_TASK"

        /** 系统事件 */
        const val SYSTEM_EVENT = "SYSTEM_EVENT"
    }

    /**
     * 操作子类型
     */
    object OperationSubType {
        // 认证方式
        const val FACE_RECOGNITION = "FACE_RECOGNITION"
        const val CARD_SCAN = "CARD_SCAN"
        const val PASSWORD_AUTH = "PASSWORD_AUTH"

        // 数据推送
        const val PUSH_TO_SERVER = "PUSH_TO_SERVER"
        const val PULL_FROM_SERVER = "PULL_FROM_SERVER"

        // 配置类型
        const val THEME_CHANGE = "THEME_CHANGE"
        const val PASSWORD_CHANGE = "PASSWORD_CHANGE"
        const val NETWORK_CONFIG = "NETWORK_CONFIG"
        const val FACE_CONFIG = "FACE_CONFIG"
        const val CABINET_CONFIG = "CABINET_CONFIG"

        // 定时任务
        const val AUTO_SYNC = "AUTO_SYNC"
        const val AUTO_CLEANUP = "AUTO_CLEANUP"
        const val AUTO_BACKUP = "AUTO_BACKUP"
    }

    /**
     * 操作结果
     */
    object Result {
        /** 成功 */
        const val SUCCESS = "SUCCESS"

        /** 失败 */
        const val FAILED = "FAILED"

        /** 进行中 */
        const val PENDING = "PENDING"
    }

    /**
     * 目标类型
     */
    object TargetType {
        /** 柜子 */
        const val CABINET = "CABINET"

        /** 用户 */
        const val USER = "USER"

        /** 配置 */
        const val CONFIG = "CONFIG"

        /** 仪器 */
        const val INSTRUMENT = "INSTRUMENT"

        /** 系统 */
        const val SYSTEM = "SYSTEM"
    }
}